home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / sendmail / ease-3.5 / doc / cfc.man < prev    next >
Encoding:
Text File  |  1991-10-15  |  5.6 KB  |  261 lines

  1. ...
  2. ... $Header: /tmp_mnt/home/kreskin/u0/barnett/Src/Ease/ease/doc/RCS/cfc.man,v 3.3 1991/09/09 16:36:05 barnett Exp $
  3. ... 
  4. ... $Log: cfc.man,v $
  5. ... Revision 3.3  1991/09/09  16:36:05  barnett
  6. ... minor bug fixes
  7. ...
  8. ... Revision 1.2  1990/04/04  15:42:51  jeff
  9. ... Reformatted somewhat for readability.  Added some bugs
  10. ... described by Bruce Barnett.
  11. ...
  12. ... Version 1.1  90/04/04  14:57:38  jeff
  13. ... Initial version
  14. ... 
  15. ... Revision 2.0  88/06/15  15:17:36  arnold
  16. ... Baseline release for net posting. ADR.
  17. ... 
  18. ... Revision 1.3  88/01/21  16:23:21  arnold
  19. ... Some typo fixes.
  20. ... 
  21. ... Revision 1.2  87/04/08  10:21:47  arnold
  22. ... Small bug fixes, compatibility option added, also warnings for
  23. ... unrecognized flags and options. ADR.
  24. ... 
  25. ... Revision 1.1  87/02/16  15:25:32  arnold
  26. ... Initial revision
  27. ... 
  28. ...
  29. .TH CFC local
  30. .SH NAME
  31. cfc \- Sendmail cf file compiler
  32. .SH SYNOPSIS
  33. .B cfc
  34. [
  35. .B \-s
  36. ] [
  37. .B \-i
  38. ] [
  39. .B \-d
  40. ] [
  41. .B \-c
  42. ] [
  43. .B \-u
  44. ] [
  45. .B \-C \fICLASSES\fP
  46. ] <
  47. .I sendmail.cf-file
  48. >
  49. .I ease-source-file
  50. .SH DESCRIPTION
  51. .I Cfc
  52. is a filter that reads a raw
  53. .IR sendmail (8)
  54. configuration file on its standard input, and produces almost useable
  55. .IR ease (1)
  56. source on its standard output.
  57. .P
  58. It is designed as a conversion tool, to translate an existing
  59. .B sendmail.cf
  60. file into
  61. .I ease
  62. with the idea that all future work will be done in
  63. .IR ease .
  64. .P
  65. .I Cfc
  66. passes all comments through to the output, and converts all predefined
  67. .I sendmail
  68. macros, options, option values, and mailer flags into the names used by
  69. .IR ease .
  70. .P
  71. It is suggested you use
  72. .I cfc
  73. to convert a 
  74. .I sendmail.cf
  75. file into 
  76. .I ease
  77. format, and then convert the
  78. .I ease
  79. file back into
  80. .I sendmail
  81. format.
  82. You may have to experiment with the right options and the right combinations
  83. before
  84. .I ease
  85. will generate an output file with no errors.
  86. Then use the
  87. .I cfdiff
  88. script to compare the original
  89. .I sendmail.cf
  90. file to the output of
  91. .IR ease .
  92. You should see some differences in formatting, as some 
  93. .I sendmail
  94. lines can be on one or two lines, and some options have more than one form.
  95. Once it is determined that these are the only difference, you should feel
  96. very comfortable using 
  97. .I ease
  98. as a high level langauge for 
  99. .I sendmail 
  100. files.
  101. If you are unable to make the two files identical, you may need to modify the 
  102. .I ease
  103. input file so the output is correct.
  104. If necessary, you can use the
  105. .IR asm ()
  106. function in
  107. .I ease
  108. to pass the characters, unchanged, to the output.
  109. .P
  110. .I Cfc
  111. isn't perfect. 
  112. You may wish to modify the 
  113. .I ease
  114. file for cosmetic reasons:
  115. .IP
  116. .I Cfc
  117. introduces tabs on its own, as well as often passing through tabs
  118. from the
  119. .I sendmail
  120. input.
  121. It will also print a header for each different type of line, e.g. if the
  122. input had seven
  123. .B O
  124. (option) lines, there will be seven option blocks.
  125. These are usually succesive, and can therefore be merged.
  126. .IP
  127. Move some comments.
  128. The block close on rulesets often comes after the comments that
  129. precede the next ruleset or mailer specification.
  130.  
  131. .RE
  132. .P
  133. In short,
  134. .I cfc
  135. does over 99% of the tedious work of translating a
  136. .B sendmail.cf
  137. into
  138. .I ease
  139. format.
  140. Suprisingly, the combination of
  141. .I cfc
  142. and
  143. .I ease
  144. can find bugs in a current
  145. .B sendmail.cf
  146. file!
  147. .P
  148. .I Cfc
  149. takes five options.
  150. .RS
  151. .TP
  152. .B \-c
  153. Indicates that
  154. .I cfc
  155. should run in 4.2BSD compatibility mode.
  156. In this case, options and mailer flags which are new in the 4.3BSD
  157. version of
  158. .I sendmail
  159. will not be recognized.
  160. .TP
  161. .B \-u
  162. .I Cfc
  163. will warn about the use of any undocumented options or mailer flags in
  164. the 4.3BSD
  165. .IR sendmail .
  166. The correct
  167. .I ease
  168. output will still be produced.
  169. .TP
  170. .B \-s
  171. .I Cfc
  172. will assume the input file is for Sun's sendmail.
  173. It will produce a ruleset definition for rule number 30, which Sun uses
  174. in their standard configuration file, and older implementations
  175. complain about. It also adds some declarations that match Sun's
  176. additions to sendmail, so errors won't occur.
  177. .TP
  178. .B \-d
  179. .I Cfc
  180. will cause some definitions to be added that will convert the Ultrix
  181. .i sendmail.cf
  182. file with fewer errors.
  183. .TP
  184. .B \-i
  185. .I Cfc
  186. will add some declarations that the IDA version of 
  187. .I sendmail
  188. likes to see.
  189. .TP
  190. .B \-C
  191. <LETTER><LETTER>...
  192. .I Cfc
  193. will add an additional header of the form
  194. .I any_in_<LETTER>
  195. and
  196. .I any_not_in_<LETTER>
  197. where
  198. .I <LETTER>
  199. is a single character that specifes a class used in the sendmail file,
  200. but not defined.
  201. This prevents 
  202. .I ease
  203. from complaining about undefined classes.
  204. .RE
  205. .P
  206. With the right compination of options and class definitions, it is
  207. easy to convert a 
  208. .I sendmail
  209. file into 
  210. .I ease ,
  211. edit the file, and run 
  212. .I ease
  213. on the file, and install the output.
  214. .\" .SH FILES
  215. .SH SEE ALSO
  216. .I "Sendmail Installation and Operation Guide"
  217. by Eric Allman
  218. (SMM:7 in the 4.3 BSD UNIX System Manager's Manual),
  219. .I "Ease: A Configuration Language for Sendmail"
  220. by James S. Schoner, amended by Jeff P. Stearns, Arnold D. Robbins, and Bruce G. Barnett.
  221. .IR sendmail (8),
  222. .IR ease (1).
  223. .SH DIAGNOSTICS
  224. ``\c
  225. .IR Routine :
  226. malformed input line
  227. .IR line :
  228. fatal error''
  229. for input it doesn't understand.
  230. .I Routine
  231. is the name of the routine in
  232. .I cfc
  233. which choked, and
  234. .I line
  235. is the line number in the input.
  236. .SH BUGS
  237. Only recognizes continuation lines (lines that begin with a \s-1TAB\s+1)
  238. for header (H) and mailer (M) definitions.
  239. .P
  240. Should read from files on the command line, instead of being a pure filter.
  241. .P
  242. Should be a two pass program, and learn the classes which need
  243. defining automatically. The
  244. .B \-C
  245. option is really a kludge.
  246. .PP
  247. In some cases, you can use the
  248. \fIasm(".......")\fP
  249. command to work around problems.
  250. .SH AUTHOR
  251. .nf
  252. Arnold Robbins
  253. Emory University Computing Center
  254. arnold@emory.edu
  255.  
  256. Modifications by Bruce G. Barnett
  257. General Electric, Corporate Research and Development
  258. barnett@crdgw1.ge.com
  259.  
  260. .fi
  261.